package newpackage;
import java.io.File;

/**
 *
 * @author BATAQUERO
 */

public class Busqueda {
    public static int x;
    public static int TotalCoincidencias;
    public static int TotalResultados=0;
    public static String LongitudTexto;
    public static String NombTexto;
    public static File ruta;
    public static double tiempo=0;

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Formulario_Busqueda().setVisible(true);
                
            }
        });
    }

public static void BuscarArchivos(String[] archivo, File ruta){

 File[] arreglos = ruta.listFiles();
 
 for(int i=0;i<archivo.length;i++){
        
        ruta=arreglos[i];
        if(ruta.isDirectory()){
            ListaArchivos(ruta);
        }
        if(ruta.isFile()){
            NombTexto=archivo[i];
            TotalResultados++;

            switch(x){
                                    case 1:     algoritmo_fuerza_bruta.algoritmoFB(NombTexto);
                                                break;
                                    case 2:     algoritmo_KnuthMorrisPratt.algoritmoKMP(NombTexto);
                                                break;
                                    case 3:     algoritmo_BoyerMoore.algoritmoBM(NombTexto);
                                                break;
                                    case 4:     algoritmo_AhoCorasick.algoritmoAC(NombTexto);
                                                break;
                            }
        }
        
  }
    if(TotalCoincidencias==0){
            Resultados.jTextField2.setText(""+TotalCoincidencias);
            Resultados.jTextField3.setText(""+TotalResultados);
        }
                          
}
public static void MostrarResultados(String cadena){
    Resultados.jTextArea1.append(cadena+"\n");
    Resultados.jTextField2.setText(""+(TotalCoincidencias+1));
    Resultados.jTextField3.setText(""+TotalResultados);
    Resultados.jTextField4.setText(""+tiempo);
}
    public static File getRuta() {
        return ruta;
    }

    public static void setRuta(File ruta) {
        Busqueda.ruta = ruta;
    }
    
    public static int getX() {
        return x;
    }
    public static void setX(int x) {
        Busqueda.x = x;
    }

    public static String getLongitudTexto() {
        return LongitudTexto;
    }

    public static void setLongitudTexto(String LongitudTexto) {
        Busqueda.LongitudTexto = LongitudTexto;
    }

     public static void ListaArchivos(File Ruta){

         String[] archi = Ruta.list();
         int numArchivos = archi.length;
         BuscarArchivos(archi, Ruta);
         long time=0;
         time=System.nanoTime();
         tiempo=(float) (Double.valueOf(System.nanoTime() - time)/1000);
     }
}
